package com.tem.product.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.Version;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 产品
 * </p>
 *
 * @author 陈辉
 * @since 2023-11-08
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("product")
@ApiModel(value="Product对象", description="")
public class Product implements Serializable {
    private static final long serialVersionUID=8903489056431L;
    @ApiModelProperty(value = "产品")
    @TableId(value = "product_id", type = IdType.AUTO)
    private Long productId;//list  search  add   edit

    @ApiModelProperty(value = "商家id")
    @TableField("sys_branch_office_id")
    private Long sysBranchOfficeId;

    @ApiModelProperty(value = "系统")
    @TableField("system_level_id")
    private Long systemLevelId;// search

    @ApiModelProperty(value = "系统栏目")
    @TableField("sys_category_id")
    private Long sysCategoryId;

    @ApiModelProperty(value = "系统栏目路径")
    @TableField("sys_category_path")
    private String sysCategoryPath;

    @ApiModelProperty(value = "我的栏目路径")
    @TableField("category_path")
    private String categoryPath;//list  search  add   edit

    @ApiModelProperty(value = "发布 区域全路径")
    @TableField("region_path")
    private String regionPath;

    @ApiModelProperty(value = "1新品 2二手货 3积分兑换  8自营店新品")
    @TableField("pro_type")
    private Integer proType;

    @ApiModelProperty(value = "产品编码 国际化产品此编码相同")
    @TableField("product_code")
    private String productCode;//list  search  add   edit

    @ApiModelProperty(value = "产品名称 最长35个字符")
    @TableField("product_name")
    private String productName;//list  search  add   edit

    @ApiModelProperty(value = "宝贝卖点 150字")
    @TableField("short_desc")
    private String shortDesc;//  add   edit

    @ApiModelProperty(value = "详细描述")
    @TableField("full_desc")
    private String fullDesc;//  add   edit

    @ApiModelProperty(value = "搜索关键字")
    @TableField("search_key")
    private String searchKey;

    @ApiModelProperty(value = "商品条形码")
    @TableField("bar_code")
    private String barCode;

    @ApiModelProperty(value = "市场价格")
    @TableField("list_price")
    private BigDecimal listPrice;//list  add   edit

    @ApiModelProperty(value = "价格 一口价")
    @TableField("price")
    private BigDecimal price;//list  add   edit

    @ApiModelProperty(value = "成本")
    @TableField("cost_price")
    private BigDecimal costPrice;//list  add   edit

    @ApiModelProperty(value = "计价/数量单位")
    @TableField("pricing_unit")
    private String pricingUnit;//list  add   edit

    @ApiModelProperty(value = "产品页面模板")
    @TableField("template_path")
    private String templatePath;

    @ApiModelProperty(value = "促销状态 0无促销 1有促销")
    @TableField("sale_status")
    private Integer saleStatus;

    @ApiModelProperty(value = "采购地路径")
    @TableField("from_path")
    private String fromPath;

    @ApiModelProperty(value = "会员等级 拥有高于该等级的用户才能购买")
    @TableField("membership_level")
    private Integer membershipLevel;//list  search  add   edit

    @ApiModelProperty(value = "橱窗推荐 1是 0否")
    @TableField("is_push")
    private Integer isPush;

    @ApiModelProperty(value = "排序降序")
    @TableField("seq")
    private Integer seq;//list  add   edit

    @ApiModelProperty(value = "购买竞价排序")
    @TableField("buy_seq")
    private Float buySeq;

    @ApiModelProperty(value = "默认图片")
    @TableField("def_img")
    private String defImg;//list add   edit

    @ApiModelProperty(value = "1已发布 0库存临时 2待审核发布 3审核不通过")
    @TableField("status")
    private Integer status;//list  search  add   edit

    @ApiModelProperty(value = "逻辑删除")
    @TableField("deleted")
    @TableLogic
    private Integer deleted;
}